package city.spring.service;

import city.spring.domain.entity.ClassifyTreeEntity;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * Service：多级分类信息
 *
 * @author 侯坤林
 * @date 2020-04-08 14:20:10
 */
public interface ClassifyTreeService extends IService<ClassifyTreeEntity> {
    String CACHE_NAME = "classify_tree";

    /**
     * 业务处理：保存一个 <strong>多级分类信息</strong>
     *
     * @param entity 多级分类信息
     */
    void saveClassifyTree(ClassifyTreeEntity entity);

    /**
     * 业务处理：修改一个 <strong>多级分类信息</strong>
     *
     * @param entity 多级分类信息
     */
    void updateClassifyTree(ClassifyTreeEntity entity);

    /**
     * 业务处理：维护一个 <strong>多级分类信息</strong> 的父级和排序
     *
     * @param entities 多级分类信息列表
     */
    void maintainParentAndSorted(List<ClassifyTreeEntity> entities);

    /**
     * 业务处理：删除一个 <strong>多级分类信息</strong>
     *
     * @param primaryKey 主键ID
     */
    void deleteClassifyTree(String primaryKey);

    /**
     * 业务处理：删除多个 <strong>多级分类信息</strong>
     *
     * @param primaryKeys 主键ID列表
     */
    void deleteClassifyTree(List<String> primaryKeys);
}